import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

public class test {
    //leetcode 49. 字母异位词分组
    public static List<List<String>> groupAnagrams(String[] strs) {
        HashMap<String, List<String>> map = new HashMap<>();
        int len = strs.length;
        for (int i = 0; i < len; i++) {
            //切换成字符数组便于排序
            char[] s = strs[i].toCharArray();
            Arrays.sort(s);
            //将排序数组作为key(字符若都相同,排序后就都一样)
            String key = new String(s);
            //如果找不到key,则加入一个新List
            if (!map.containsKey(key)) {
                List<String> list = new ArrayList<>();
                list.add(strs[i]);
                map.put(key, list);
            } else {
                List<String> list = map.get(key);
                list.add(strs[i]);
                map.put(key, list);
            }
        }
        return new ArrayList<List<String>>(map.values());
    }
    //蓝桥杯 小蓝的神奇复印机
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        //大根堆(index和优先级)
        Deque<int[]> queue = new ArrayDeque<>();
        int N = in.nextInt();
        int X = in.nextInt();
        int time = 0;
        int maxIndex = 0;
        //用于存储剩余任务(的优先级)
        Integer[] arr = new Integer[N];
        for(int i = 0;i < N;i++){
            int n = in.nextInt();
            arr[i] = n;
            //将任务的index和优先级存入队列
            queue.offer(new int[]{i,n});
        }
        Arrays.sort(arr,(a,b) -> {
            return b-a;
        });
        while(!queue.isEmpty()){
            //当前剩余任务中,优先级最高的任务
            int max = arr[maxIndex];
            //当前队头的任务并不是优先级最高的任务
            if(queue.peek()[1] != max) {
                //将队头任务移动到队尾巴
                int[] a = queue.removeFirst();
                queue.addLast(a);
                continue;
                //如果当前队头的任务是优先级最高的任务
            }else {
                //解决任务,标记为-1(删除),time++;
                arr[maxIndex] = 0;
                maxIndex++;
                time++;
                //如果该任务是不目标任务,直接删除
                if(queue.peek()[0] != X){
                    queue.removeFirst();
                    //如果该任务是目标任务,退出循环,返回time
                }else {
                    break;
                }
            }
        }
        System.out.println(time);
    }
}
